#include <util/arena.h>
#include <iostream>
#include <no_destructor.h>

struct T
{
    int a;
    char c;
};

int main()
{
    std::cout << alignof(T) << std::endl;
    std::cout << sizeof(T) << std::endl;
    minidb::NoDestructor<T> test;
    std::cout << sizeof(test) << std::endl;    
    minidb::Arena arena;
    arena.Allocate(1024);
    arena.Allocate(sizeof(int));
    arena.Allocate(sizeof(double));
    arena.Allocate(sizeof(char));
    arena.AllocateAligned(sizeof(char *));
    arena.AllocateAligned(1025);
    arena.AllocateAligned(1025);
    arena.AllocateAligned(1025);
    arena.AllocateAligned(1025);
    arena.AllocateAligned(sizeof(double));
}